Networking with HAPs and additional ground-based nodes

ABSTRACT

Aspects of the disclosure provide for determining a network configuration. For instance, a system may include a controller including one or more processors. The one or more processors may be configured to receive information from each of a plurality of available nodes within a network, the plurality of available nodes including at least one aerial vehicle; determine a plurality of constraints for a future point in time, each one of the plurality of constraints including one or more minimum service requirements for a geographic area; attempt to determine a first network configuration for each of the plurality of available nodes that satisfies all of the constraints; when unable to determine the first network configuration, determine a second network configuration for the plurality of available nodes and at least one additional ground-based node that satisfies all of the constraints; and send instructions in order to affect the second network configuration.

BACKGROUND

Information can be transmitted over directional point-to-point networks,such as aerospace and other mobile networks. In such networks, links canbe formed between pairs of nodes by aiming transceivers of each nodepair towards each other. In some implementations, nodes may includenon-geostationary satellite orbit (NGSO) satellites or otherhigh-altitude platforms (HAPs) that are in motion relative to the Earth.

BRIEF SUMMARY

Aspects of the disclosure provide a method of a method of determining anetwork configuration. The method includes receiving, by one or moreprocessors, information from each of a plurality of available nodeswithin a network, wherein the plurality of available nodes includes atleast one high-altitude platform; determining, by the one or moreprocessors, a plurality of constraints for a future point in time, eachone of the plurality of constraints including one or more minimumservice requirement for a geographic area; attempting, by the one ormore processors, to determine a first network configuration for each ofthe plurality of available nodes that satisfies all of the constraintsfor the future point in time; when unable to determine the first networkconfiguration, determining, by the one or more processors, a secondnetwork configuration for the plurality of available nodes and at leastone additional ground-based node that satisfies all of the constraintsfor the future point in time; and sending, by the one or moreprocessors, instructions in order to affect the second networkconfiguration at the future point in time.

In one example, the second network configuration includes acommunication link between the at least one high-altitude platform andthe at least one additional ground-based node. In another example,determining the second network configuration includes using locationinformation for the at least one ground-based additional node as well asinformation about geographic locations the ground-based additional nodeis able to reach over one or more given periods of time. In anotherexample, determining the second network configuration includes usinginformation about an altitude at which the at least one ground-basedadditional node is deployable. In another example, determining thesecond network configuration includes using information aboutcommunication capabilities of the at least one ground-based additionalnode. In another example, determining the second network configurationincludes limiting a number of any ground-based additional nodes used inthe second network configuration. In another example, the method alsoincludes, when unable to determine the first network configuration,sending, by the one or more processors, a signal to a fleet managementsystem remote from the one or more processors and in response to sendingthe signal, receiving information identifying the at least oneadditional ground-based node such that determining the second networkconfiguration is based on the received information. In another example,sending the instructions in order to affect the second networkconfiguration at the future point in time includes sending a signalidentifying the network configuration to a fleet management systemincluding one or more processors. In this example, the method alsoincludes, in response to receiving, by the fleet management system, thesignal, sending a second signal to cause the one or more additionalground-based nodes to be dispatched. In addition or alternatively, themethod also includes determining, by the fleet management system, aflight map for the at least one high-altitude platform.

Another aspect of the disclosure provides a system for determining anetwork configuration. The system includes a controller including one ormore processors configured to receive information from each of aplurality of available nodes within a network, the plurality ofavailable nodes including at least one high-altitude platform; determinea plurality of constraints for a future point in time, each one of theplurality of constraints including one or more minimum servicerequirements for a geographic area; attempt to determine a first networkconfiguration for each of the plurality of available nodes thatsatisfies all of the constraints for the future point in time; whenunable to determine the first network configuration, determine a secondnetwork configuration for the plurality of available nodes and at leastone additional ground-based node that satisfies all of the constraintsfor the future point in time; and send instructions in order to affectthe second network configuration at the future point in time.

In one example, the second network configuration includes acommunication link between the at least one high-altitude platform andthe at least one additional ground-based node. In another example, theone or more processors are configured to determine the second networkconfiguration by using location information for the at least oneground-based additional node as well as information about geographiclocations the ground-based additional node is able to reach over one ormore given periods of time. In another example, the one or moreprocessors are configured to determine the second network configurationby using information about an altitude at which the at least oneground-based additional node is deployable. In another example, the oneor more processors are configured to determine the second networkconfiguration by using information about communication capabilities ofthe at least one ground-based additional node. In another example, theone or more processors are further configured to, when unable todetermine the first network configuration, send a signal to a fleetmanagement system remote from the one or more processors and in responseto sending the signal, receive information identifying the at least oneadditional ground-based node such that determining the second networkconfiguration is based on the received information. In another example,the one or more processors are configured to send the instructions inorder to affect the second network configuration at the future point intime includes sending a signal identifying the network configuration toa fleet management system. In another example, the system also includesthe fleet management system, and wherein the fleet management systemincludes one or more processors. In this example, the one or moreprocessors of the fleet management system are configured to, in responseto receiving the signal, send a second signal to cause the one or moreadditional ground-based nodes to be dispatched.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial diagram of an example directional point-to-pointnetwork 100 in accordance with aspects of the disclosure.

FIG. 2 is a functional diagram of a portion of the network shown in FIG.1 in accordance with aspects of the disclosure.

FIG. 3 is a functional diagram of a controller and fleet managementsystem in accordance with aspects of the disclosure.

FIG. 4 is an example table 400 in accordance with aspects of thedisclosure.

FIG. 5 is an example flow diagram 500 for determining networkconfigurations in accordance with aspects of the disclosure.

FIG. 6 is a functional diagram of a topology of a network shown in FIG.1 in accordance with aspects of the disclosure.

FIG. 7 is a functional diagram of another topology of the network shownin FIG. 1 with an additional ground-based node in accordance withaspects of the disclosure.

DETAILED DESCRIPTION

Overview

The technology relates to determining network configurations for anaerospace communication network using a controller. Particularly, thecontroller may be used in aerospace communication networks that includenon-geostationary satellite orbit (NGSO) satellites, such as Low EarthOrbit (LEO) satellites, or other high-altitude platforms (HAPs) asnodes. The controller may schedule and implement the services andapplications that control, monitor, and reconfigure the network layerand switching functionality.

The configuration of the controller may be dependent upon the types ofnetwork communications provided. For instance, the controller mayinclude a Temporospatial Software-Defined Networking (TS-SDN) operatingsystem; or, with or in a 5G reference architecture using a 5G radioaccess or integrated access and backhaul or other configurations, thesame or similar functionality could be implemented in the centralunit-control plane (CU-CP) or another function in the 5G Core.

In operation, the controller may periodically update a list of availablenodes, such as, for example, NGSO satellites configured for radiofrequency (RF) and/or free-space optical communication (FSOC), andavailable routes, or flows, through the aerospace network. The list mayinclude a schedule of the available nodes and available flows. Theavailability of nodes and flows may be based on at least a forecast ofthe trajectory of moving nodes. The controller may automaticallyschedule the tasking of communication terminals on the HAPs or groundstations and transmit the schedule to the communication terminals tosynchronize changes to the network according to the schedule.

The controller may schedule the tasking of the communication terminalsin the network based at least in part on a difference between an amountof bandwidth servicing a given ground station or a given geographic areaand a minimum service requirements (e.g. meets service level obligationsfor throughput and/or latency or network connectivity). For instance,the controller may determine a network configuration including locationsof the devices as well as communication links through the network inorder to achieve the minimum service requirements for a particularlocation for a future point in time. In the case of HAPs includingaerial vehicles such as UAVs, balloons, etc., as part of the solution,the controller or another server computing system which functions as afleet management system may also generate flight paths or maps for theseaerial vehicles to reach a desired location at the future point in time.

However, in some instances, the controller may be unable to determine orsolve for a network configuration that meets all of the constraints, orrather, achieves the minimum service requirements for all geographicareas at the future point in time. For instance, it may take too longfor a particular HAP to reach a given location, a HAP may have gone outof service or become unavailable unexpectedly, there are simply notenough available nodes, etc. As a result, no matter what networkconfiguration, there may be an outage at a particular area or theminimum service requirement may not be achievable.

In such instances, the controller may attempt to supplement theavailable notes with ground-based additional nodes. This may be achievedby the controller itself, or by a fleet management system, for instance,in response to a signal from the controller. These additional nodes mayinclude, for example, a movable ground-based node.

The controller or the fleet management system may access informationabout any available ground-based additional nodes. The controller orfleet management system may then use the other information and theinformation about any available ground-based additional nodes in orderto attempt to solve for a network configuration that satisfies all ofthe constraints. The controller or fleet management system may attemptto solve for a network configuration that both satisfies all of theconstraints while at the same time minimizes the number of additionalnodes used. This may reduce the costs of configuring the network becausethere are costs involved with getting the additional nodes to thelocations. The controller or fleet management system may then sendinstructions to implement the network configuration.

The features described above may provide for a reliable way for users totransmit data to different parts of the world. A communication networkcreated using the features described may provide users with networkcoverage that is more robust to fade and outages. Because of this, endusers of the communication network are more likely to use the networkbecause it may provide more reliable transmission of data. In addition,because of the mobility of the nodes end users may therefore haveincreased accessibility to datacenters and other points of interestworldwide. Cost may also be a significant benefit. For example, coveringa large, rural area with towers or aerostats is not generallyeconomical, because each base station will likely too few users relativeto such users' per-unit fixed costs. HAPS can affordably cover very wideareas; however, they may not offer high-enough availability. The dynamicorchestration of the deployment and network configuration of road-mobiletemporary base stations may enable rural coverage to be much moreeconomically sustainable.

Example Systems

FIG. 1 is a block diagram of an example directional point-to-pointnetwork 100. The network 100 is a directional point-to-point computernetwork consisting of nodes mounted on various land- and air-baseddevices, some of which may change position with respect to other nodesin the network 100 over time. For example, the network 100 includesnodes associated with each of two land-based datacenters 105 a and 105 b(generally referred to as datacenters 105), nodes associated with eachof two ground stations 107 a and 107 b (generally referred to as groundstations 107), and nodes associated with each of four airborne highaltitude platforms (HAPs) 110 a-110 d (generally referred to as HAPs110). As shown, HAP 110 a is a blimp, HAP 110 b is an airplane, HAP 110c is a balloon, and HAP 110 d is a satellite. In some embodiments, nodesin network 100 may be equipped to perform FSOC, making network 100 anFSOC network. Additionally or alternatively, nodes in network 100 may beequipped to communicate via radio-frequency signals or othercommunication signal capable of travelling through free space. Arrowsshown between a pair of nodes represent possible communication links120, 122, 130-137 between the nodes. The network 100 as shown in FIG. 1is illustrative only, and in some implementations the network 100 mayinclude additional or different nodes. For example, in someimplementations, the network 100 may include additional HAPs, which maybe balloons, blimps, airplanes, unmanned aerial vehicles (UAVs),satellites, or any other form of high-altitude platform.

In some implementations, the network 100 may serve as an access networkfor client devices such as cellular phones, laptop computers, desktopcomputers, wearable devices, or tablet computers. The network 100 alsomay be connected to a larger network, such as the Internet, and may beconfigured to provide a client device with access to resources stored onor provided through the larger computer network. In someimplementations, HAPs 110 can include wireless transceivers associatedwith a cellular or other mobile network, such as eNodeB base stations orother wireless access points, such as WiMAX or UMTS access points.Together, HAPs 110 may form all or part of a wireless access network.HAPs 110 may connect to the datacenters 105, for example, via backbonenetwork links or transit networks operated by third parties. Thedatacenters 105 may include servers hosting applications that areaccessed by remote users as well as systems that monitor or control thecomponents of the network 100. HAPs 110 may provide wireless access forthe users, and may route user requests to the datacenters 105 and returnresponses to the users via the backbone network links.

As shown in FIG. 2, each node, such as ground stations 107 and HAPs 110may include one or more transceivers configured to create one or morelinks, such as links 130-137, between a given HAP 110 and another nodein the network. Referring to HAP 110 a, each of the nodes, such asground stations 107 and HAPs 110 of network 100, may include one or moreprocessors 210, memory 212, and one or more transceivers 220. For thesake of clarity and simplicity, only ground station 107 a and HAPs 110a, 110 d are shown in FIG. 2. However, other ground stations and HAPs inthe network may have the same or as similar configuration as groundstation 107 or HAPS 110 a, 110 d.

The one or more processors 210 may be any conventional processors, suchas commercially available CPUs. Alternatively, the one or moreprocessors may be a dedicated device such as an application specificintegrated circuit (ASIC) or other hardware-based processor, such as afield programmable gate array (FPGA). Although FIG. 2 functionallyillustrates the one or more processors 210 and memory 212 as beingwithin the same block, it will be understood that the one or moreprocessors 210 and memory 212 may actually comprise multiple processorsand memories that may or may not be stored within the same physicalhousing. Accordingly, references to a processor or computer will beunderstood to include references to a collection of processors orcomputers or memories that may or may not operate in parallel.

Memory 212 stores information accessible by the one or more processors210, including data 214, and instructions 216, that may be executed bythe one or more processors 210. The memory may be of any type capable ofstoring information accessible by the processor, including acomputer-readable medium such as a hard-drive, memory card, ROM, RAM,DVD or other optical disks, as well as other write-capable and read-onlymemories. The system and method may include different combinations ofthe foregoing, whereby different portions of the data 214 andinstructions 216 are stored on different types of media. In the memoryof each node, such as memory 212 of HAP 110 a, a routing table may bestored that indicate how signals received at each node should be routed,or transmitted. For example, the routing table stored in memory 212 mayindicate that a signal received from ground station 107 a should berouted to HAP 110 d.

Data 214 may be retrieved, stored or modified by the one or moreprocessors 210 in accordance with the instructions 216. For instance,although the system and method is not limited by any particular datastructure, the data 214 may be stored in computer registers, in arelational database as a table having a plurality of different fieldsand records, XML documents or flat files. The data 214 may also beformatted in any computer-readable format such as, but not limited to,binary values or Unicode. By further way of example only, image data maybe stored as bitmaps comprised of grids of pixels that are stored inaccordance with formats that are compressed or uncompressed, lossless(e.g., BMP) or lossy (e.g., JPEG), and bitmap or vector-based (e.g.,SVG), as well as computer instructions for drawing graphics. The data214 may comprise any information sufficient to identify the relevantinformation, such as numbers, descriptive text, proprietary codes,references to data stored in other areas of the same memory or differentmemories (including other network locations) or information that is usedby a function to calculate the relevant data.

The instructions 216 may be any set of instructions to be executeddirectly (such as machine code) or indirectly (such as scripts) by theone or more processors 210. For example, the instructions 216 may bestored as computer code on the computer-readable medium. In that regard,the terms “instructions” and “programs” may be used interchangeablyherein. The instructions 216 may be stored in object code format fordirect processing by the one or more processors 210, or in any othercomputer language including scripts or collections of independent sourcecode modules that are interpreted on demand or compiled in advance.Functions, methods and routines of the instructions 216 are explained inmore detail below.

The one or more transceivers 220 may be mounted to actuators that can becontrolled, or steered, to point in a desired direction. To form a linkbetween two nodes, such as the node associated with the HAP 110 a andthe node associated with the HAP 110 d, the transceivers of therespective nodes can be controlled to point in the direction of oneanother so that data can be sent and received between the nodes. In someimplementations, the power of the signals transmitted by eachtransceiver can also be controlled by the one or more processors ofrespective nodes to facilitate formation of the links 130-137 in thenetwork 100 (see FIG. 1, for instance). For example, nodes that areseparated by a relatively large distance can be configured to operate ata higher power to compensate for the reduction in signal-to-noise ratiothat occurs over the distance separating the two nodes. Nodes that arespaced nearer to one another may be controlled to operate at arelatively lower power so as to save power.

In some implementations, the network 100 can be an SDN that iscontrolled by an SDN controller, such as network controller 310, inconjunction with a fleet management system 340, depicted in FIG. 3.Although the controller 310 and fleet management system 340 are depictedas distinct systems, the controller 310 and fleet management system 340may actually be incorporated in to the same server computing device orserver computing devices operating together as a server farm.

The specific implementation of the controller may be dependent upon thetypes of network communications provided. For instance, the controllermay include a Temporospatial Software-Defined Networking (TS-SDN)operating system for use with or in a 5G reference architecture using a5G radio access or integrated access and backhaul or otherconfigurations, the same or similar functionality could be implementedin the central unit-control plane (CU-CP) or as a function in the 5GCore.

The controller 310 may be located at one of the network nodes or at aseparate platform, such as, for example, in one of the datacenters 105.The nodes of the network 100 can be configured to communicate with oneanother using the steerable transceivers, such as the one or moretransceivers 220. As the HAPs 110 move with respect to one another andwith respect to the datacenters 105 and ground stations 107 over time,some of the links shown in the block diagram of FIG. 1 may becomeinfeasible. For example, the link 130 between the ground station 107 aand the HAP 110 a may not be feasible when the path of the HAP 110 abrings the HAP 110 a into a position in which it is out of range of theground station 107 a, or in which the earth is positioned between it andthe ground station 107 a. Thus, due to the continuous movement of theHAPs 110, the topology of the network 100 may require regular (i.e.periodic) or irregular reconfiguration to maintain connectivity and tosatisfy determined network flows. The controller 310 may be configuredto send control messages to the network 100 to configure the topology ofthe network 100, to pass routing information to the nodes 107, 110 ofthe network 100, to communication with the fleet management system 330as discussed further below, as well as to schedule changes to thetopology of the network 100 to transmit client data.

The controller 310 may actually include one or more server computingdevices each having one or more processors. The server computing devicesmay be configured as a load-balanced server farm or other configuration.In this regard, as shown in FIG. 3, the controller 310 may include oneor more processors 312, memory 314 storing data 316 and instructions318, as well as a communications system 320. The one or more processors312 may be similar to the one or more processors 210 described above.

Memory 314 may store information accessible by the one or moreprocessors 312, including data 316 and instructions 316 that may beexecuted by the one or more processors 312. Memory 314, data 316, andinstructions 318 may be configured similarly to memory 212, data 214,and instructions 216 described above. The data 316 may include a table,database, graph or other datastore representing all of the availablenodes and possible links in the network 100 at a given time or timeframe, such as table 400 in FIG. 4.

The table 400 may have a column for every node and link in the network100 and a row for a time or time frame. In some cases, the columns andthe rows may be reversed. The table 400 may also store, for each nodeand each link, scheduled times or time frames during which the node orlink is available. The data 316 may also store a model of each node inthe network. Each model may contain information that can be used topropagate each HAP's predicted physical motion over time as well asnetwork capabilities. For instance, each model may contain informationabout the current locations of the available nodes of the network(location, power, bandwidth and communication capabilities includingsteering capabilities, antenna patterns, supported bands & channels,networking interfaces, etc.), terrain, local obstructions (on the HAP ornearby), location of the sun or other planetary bodies (if the HAP islocated in deep space and there is a possibility of obstruction by amoon or planet).

The data 316 may be used by the controller 110 and/or fleet managementsystem 330 in order to calculate the table 400 for all possible links orbeam tasks over time. These may either be proactively pre-computed orcomputed on-demand based on at least a forecast of the trajectory ofmoving nodes. In this regard, the table may provide a list of availablenodes, such as, for example, NGSO satellites configured for free-spaceoptical communication (FSOC) or RF, and available routes, or flows,through the aerospace network. The list may include a schedule of theavailable nodes and available flows. The availability of nodes and flowsmay be based on at least a forecast of the trajectory of moving nodes.The available flows through the aerospace network from a given region toall other available regions may be advertised from a Software-DefinedNetworking (SDN)-enabled router in the given region. The controller 110may solve for the desired flows through the network using table 400 aswell as a plurality of constraints (discussed further below) as itsinput. The output of the controller may include a network configurationfor a future point in time that identifies links or beam tasks, power orchannel assignments, and routing configurations that should be used overtime in order to achieve minimum service requirements as discussedfurther below. This information may then be conveyed to the variousnodes of the network as needed.

Returning to FIG. 3, the communications system 340 may be configured tocommunicate with the nodes 107, 110 of network 100 as well as the fleetmanagement system 330. In some embodiments, the communication system 320includes a Control to Data-Plane Interface (CDPI) driver configured tocommunicate with a CDPI agent at each of the nodes 107, 110. Inaddition, the communications system 320 of the controller 310 mayinclude one or more northbound interface (NBI) agents configured tocommunicate with an NBI driver at each client device 350 associated withone or more SDN applications. The communication system 320 mayoptionally or alternatively be configured to transmit and receive asignal via radio frequencies, optical frequencies, optical fiber, cable,or other communication means to and from the nodes 107, 110 in thenetwork 100, the fleet management system 330, and/or the one or moreclient devices 350.

As with the controller 310, the fleet management system 330 may actuallyinclude one or more server computing devices each having one or moreprocessors. The server computing devices may be configured as aload-balanced server farm or other configuration. In this regard, asshown in FIG. 3, the fleet management system 330 may include one or moreprocessors 332, memory 334 storing data 336 and instructions 338, aswell as a communications system 340 similar to those described abovewith respect to the one or more processors 210 and 312, memories 212 and322, data 214 and 314, and instructions 216 and 316.

The data 316 and/or 336 may also store information about availableground-based additional nodes. These additional nodes may include, forexample, movable ground-based nodes. For example, the movableground-based node may include a road-mobile aerial vehicle, such as anaerostat, that can be driven to a particular location, deployedapproximately 800 feet or more or less and used as an additional“gap-filling” node at least temporarily.

The stored information may include, for example, the current location ofthe ground-based additional node, the geographic locations which theground-based additional node is able to reach over one or more givenperiods of time, bandwidth and communication capabilities (e.g. thefrequency bands that can be supported), and other features, such as howhigh the additional node can be deployed, terrain (e.g. elevation andgeographical maps), etc. In some instances, the controller or fleetmanagement system may also need to consider whether and where backhaulconnectivity for the mobile node. For example, certain types of theseground-based additional nodes will require fixed point-to-pointmicrowave or fiber connectivity to the deployment site.

Each client device 350 may be a personal computing device or a servercomputing device with one or more processors 350, memory 352, data 356,and instructions 358 similar to those described above with respect tothe one or more processors 210 and 312, memories 212 and 322, data 214and 314, and instructions 216 and 316. Personal computing devices mayinclude a personal computer that has all of the components normally usedin connection with a personal computer such as a central processing unit(CPU), memory (e.g., RAM and internal hard drives) storing data andinstructions, an electronic display (e.g., a monitor having a screen, asmall LCD touch-screen, a projector, a television, or any otherelectrical device that is operable to display information), user input(e.g., a mouse, keyboard, touch-screen or microphone), camera, speakers,a network interface device, and all of the components used forconnecting these elements to one another. Personal computing devices mayalso include mobile devices such as PDAs, cellular phones, and the like.Indeed, client devices 350 may include any device capable of processinginstructions and transmitting data to and from humans and othercomputers including general purpose computers, network computers lackinglocal storage capability, and set-top boxes for televisions. In someembodiments, client devices may be associated with one or more SDNapplications and may have one or more NBI drivers.

Example Methods

In FIG. 5, flow diagram 500 for determining network configurations isshown in accordance with some of the aspects described above that may beperformed by the one or more processors 312 of the controller 310 and/orone or more processors 332 of the fleet management system 330. WhileFIG. 5 shows blocks in a particular order, the order may be varied andthat multiple operations may be performed simultaneously. Also,operations may be added or omitted.

At block 510, information from each of a plurality of available nodeswithin a network 100 is received. For instance, the controller 310 mayperiodically update the data of table 400 and models based on messagesreceived from the HAPs and/or the fleet management system 330.Similarly, the fleet management system may update the information ofdata 336 based on messages received from the HAPs.

At block 520, a plurality of constraints for a future point in time isdetermined. Each one of the plurality of constraints may includes one ormore minimum service requirements for a geographic area. The controller310 may schedule the tasking of the communication terminals in thenetwork based at least in part on a difference between an amount ofavailable bandwidth servicing a given ground station or a givengeographic area and the minimum service requirements. The minimumservice requirements amount may be a fixed amount, or may be variablebased on an amount of client data being transmitted to or from the givenground station or client devices or ground stations in the givengeographic area. For instance, the controller 310 may determine anetwork configuration including locations of the devices as well ascommunication links through the network in order to achieve the minimumservice requirements for a particular location for the future point intime. This may include generating a plurality of constraintscorresponding to the minimum service requirements for differentgeographic areas.

At block 530, determining a first network configuration for theplurality of available nodes that satisfies all of the constraints forthe future point in time is attempted using the received information.The controller may then use other information, such as weather forecastsas well as the data of the table 400 and the aforementioned models toattempt to solve for a network configuration that satisfies all of theconstraints as described above.

In the case of HAPs including aerial vehicles such as UAVs, balloons,etc., as part of the solution, the controller and/or a fleet managementsystem may also generate flight paths or maps for these aerial vehiclesto reach a desired location at the future point in time. For instance,as noted above, the controller may have access to a database, whichcontains a model of each node in the network. That model containsinformation that can be used to propagate each HAP's predicted physicalmotion over time as well as network capabilities (antenna patterns,supported bands & channels, networking interfaces, etc. etc.). At thesame time, aa Fleet Management system may actually direct the motion ofat least some of the HAPs, for instance aerial vehicles such as UAVs,balloons, etc., and determines where each of these HAPs should go, howeach of these HAPs will navigate. The output of the fleet managementsystem 330 may include flight paths and maps which are published both tothe HAPs themselves in order to enable the HAPs to fly, steer, maneuver,or otherwise themselves in order to achieve the minimum servicerequirements as well as to the controller 310, which subscribes to thoseupdates to keep its models of the motion of each HAP in-sync and up todate.

These flight paths or maps may be determined using weather forecasts,information about the current locations of HAPs (location, power,steering capabilities, etc.). The fleet management system 330 mayprovide the controller 310 with a simulated flight path of each HAP, andmay determine flight paths/steering instructions them to provide thebest network configuration to achieve the minimum service requirements.The controller 310 may determine when there is no solution to achievethe minimum service requirements, and in some instances, may send asignal to the fleet management system 330 or another system to dispatchadditional HAPs, if possible.

However, in some instances, the controller 310 may be unable todetermine or solve for a network configuration that meets all of theconstraints, or rather, achieves the minimum service requirements forall geographic areas at the future point in time. For instance, it maytake too long for a particular HAP to reach a given location, a HAP mayhave gone out of service or become unavailable unexpectedly, there aresimply not enough available nodes, etc. As a result, no matter whatnetwork configuration, there may be an outage at a particular area orthe minimum service requirements may not be achievable. For example,turning to example 600 of FIG. 6, HAP 110C may be predicted to be out ofservice at the future point in time. Because of this, communicationlinks 133, 134, 136 and 137 may not be possible at the future point intime. As such, the controller 310 may be unable to solve for a networkconfiguration that enables the minimum service requirements in the areaof ground station 107 b. As such, there will likely be an outage in thearea of ground station 107 b at the future point in time.

At block 540, when unable to determine the first network configuration,a second network configuration for the plurality of available nodes andat least one additional ground-based node that satisfies all of theconstraints for the future point in time is determined. For instance,the controller 310 may attempt to supplement the available notes withground-based additional nodes. This may be achieved by the controlleritself, or by the fleet management system, for instance, in response toa signal from the controller. For example, in response to determiningthat the controller 310 may be unable to determine or solve for anetwork configuration that meets all of the constraints, the controller310 may send a signal to the fleet management system 330. The signal mayindicate the future point in time for which the controller was unable tosolve for a network configuration that meets all of the constrains orrather than an outage in the network is expected at the future point intime. In some instances, the signal may also indicate that one or moreadditional nodes are required.

In response to receiving the signal, the fleet management system maydetermine whether an additional HAP can be dispatched (e.g. launched) bythe future point in time. To do so, controller or the fleet managementsystem may access any available information about any availableground-based additional nodes, for instance, from the data 316 and/or336. The data 316 may provide the controller 310 and/or fleet managementsystem 330 with the motion of the HAPs and also the coverage areas oruser terminals for which minimum service requirements are or will notmet at a future point in time. The controller or the fleet managementsystem may then identify one or more additional ground nodes that can bedispatched in time in order to be used at the future point in time andthat can be used within the coverage areas for which the minimum servicerequirements are or will not be met at the future point in time. Forinstance, turning to example 700 of FIG. 7, a ground-based node 710could potentially be dispatched based on its altitude of deployment, thegeographic locations that the ground-based node can be deployed to bythe future point in time, the communications capabilities of theground-based node, etc. If identified by the fleet management system,the fleet management system may send a signal to the controllerindicating that the identified one or more additional ground nodes areavailable. At this point, the ground-based additional nodes need not yetbe dispatched.

In response to the one or more additional ground nodes being identified,the controller 310 may attempt to solve for a new network configurationthat includes one or more additional nodes. The controller may then usethe data from table 400, the models, and any available information aboutthe identified one or more additional ground nodes in order to attemptto solve for a network configuration that satisfies all of theconstraints. In other words, the controller 310 may attempt to solve fora network configuration that both incorporates the identified one ormore additional ground nodes and also satisfies all of the constraints.When the identified one or more ground-based nodes are included in thenetwork configuration, the network configuration may include theidentified one or more ground-based nodes generating communication linkswith one or more of the other nodes of the network including HAPs. Forinstance, returning to example 700 of FIG. 7, the ground-based node 710can be dispatched to a particular location in order to facilitate newcommunication links 720-723 in order to achieve the minimum servicerequirements at the future point in time. For this dispatching, thefleet management system may provide information such as a time ofdeparture, destination and route. The route can be updated real-time byexisting road navigation software.

Alternatively, rather than dispatching the one or more additional groundnodes when unable to solve for a network configuration that meets theminimum service requirements, the controller and/or fleet managementsystem could attempt to co-optimize both the HAPs and availableground-based nodes in a numerical solver of machine learning model. Thecontroller and/or fleet management system could then select a solutionthat maximizes performance or minimize costs to the network. Anyground-based nodes needed to achieve the solution can then be dispatchedas needed in order to achieve the minimum service requirements at thefuture point in time. At the same time, the fleet management system mayprovide the controller with a simulated flight path of each HAP for theselected solution, and may determine flight paths/steering instructionsthem to provide the best network configuration to achieve the minimumservice requirements. Corresponding flight paths or maps may then besent to the HAPS as described above.

Using ground-based nodes in certain circumstances may reduce the costsof configuring the network because there are costs involved with gettingadditional aerial nodes to locations. For example, during certain timesof the year, the winds in a region may be unfavorable, or, for example,during winter, there may be less sunlight for solar panels on the HAPs.To overcome such challenges, additional nodes (e.g. ground-based nodes)may need to be deployed to maintain the same service levels as comparedto the number of nodes deployed during more favorable times, therebyincurring additional costs on the network operator. In addition to thecontroller or fleet management system generating flight paths or mapsfor these HAPs to reach a desired location at the future point in time,the controller may also determine which additional nodes are requiredand at which locations they must be deployed by the future point intime.

At block 550, instructions are sent in order to affect the secondnetwork configuration at the future point in time. For instance, thecontroller 310 or fleet management system 330 may then send instructionsto implement the network configuration. This may involve sendinginstructions to the available nodes to create the communication linksthrough the network in order to achieve the minimum service requirementsat the future point in time as well as sending flight paths or maps forvarious of the available nodes (e.g. the aforementioned HAPs) to reach adesired location at the future point in time. In this regard, a signalidentifying the network configuration may be sent by the controller 310to the fleet management system 330. In response, the fleet managementsystem 330 may determine the flight paths or maps for various of theavailable nodes to reach the desired locations at the future point intime and send this information to each of the nodes. The fleetmanagement system 330 or controller 310 may also dispatch the identifiedone or more additional nodes. For instance, the controller or fleetmanagement system may generate an automated work request ticket, pushnotification (e.g. text or email), or even a phone call at some point(e.g. a week) in advance of the future point in time in order to enablehuman operators or the ground-based additional nodes themselves to bedispatched as needed to achieve the network configuration.

The features described above may provide for a reliable way for users totransmit data to different parts of the world. A communication networkcreated using the features described may provide users with networkcoverage that is more robust to fade and outages. Because of this, endusers of the communication network are more likely to use the networkbecause it may provide more reliable transmission of data. In addition,because of the mobility of the nodes end users may therefore haveincreased accessibility to datacenters and other points of interestworldwide. Cost may also be a significant benefit. For example, coveringa large, rural area with towers or aerostats is not generallyeconomical, because each base station will likely too few users relativeto such users' per-unit fixed costs. HAPS can affordably cover very wideareas; however, HAPs may not always offer enough availability at certainlocations at certain times. The dynamic orchestration of the deploymentand network configuration of road-mobile temporary base stations mayenable rural coverage to be much more economically sustainable.

Unless otherwise stated, the foregoing alternative examples are notmutually exclusive, but may be implemented in various combinations toachieve unique advantages. As these and other variations andcombinations of the features discussed above can be utilized withoutdeparting from the subject matter defined by the claims, the foregoingdescription of the embodiments should be taken by way of illustrationrather than by way of limitation of the subject matter defined by theclaims. In addition, the provision of the examples described herein, aswell as clauses phrased as “such as,” “including” and the like, shouldnot be interpreted as limiting the subject matter of the claims to thespecific examples; rather, the examples are intended to illustrate onlyone of many possible embodiments. Further, the same reference numbers indifferent drawings can identify the same or similar elements.

The invention claimed is:
 1. A method of determining a networkconfiguration, the method comprises: receiving, by one or moreprocessors, information from each of a plurality of available nodeswithin a network, wherein the plurality of available nodes includes atleast one high-altitude platform; determining, by the one or moreprocessors, a plurality of constraints for a future point in time, eachone of the plurality of constraints for the future point in timeincluding one or more minimum service requirement for a geographic area;attempting, by the one or more processors, to determine a first networkconfiguration for each of the plurality of available nodes thatsatisfies all of the constraints for the future point in time; whenunable to determine the first network configuration, sending, by the oneor more processors, a signal to a fleet management system remote fromthe one or more processors; in response to sending the signal,receiving, by the one or more processors, information identifying atleast one additional ground-based node; determining, by the one or moreprocessors, a second network configuration for the plurality ofavailable nodes based on the received information including theidentified at least one additional ground-based node, wherein the secondnetwork configuration satisfies all of the plurality of constraints; andsending, by the one or more processors, instructions in order to affectthe second network configuration at the future point in time.
 2. Themethod of claim 1, wherein the second network configuration includes acommunication link between the at least one high-altitude platform andthe identified at least one additional ground-based node.
 3. The methodof claim 1, wherein determining the second network configurationincludes using location information for the identified at least oneground-based additional node as well as information about geographiclocations the ground-based additional node is able to reach over one ormore given periods of time.
 4. The method of claim 1, whereindetermining the second network configuration includes using informationabout an altitude at which the identified at least one ground-basedadditional node is deployable.
 5. The method of claim 1, whereindetermining the second network configuration includes using informationabout communication capabilities of the identified at least oneground-based additional node.
 6. The method of claim 1, whereindetermining the second network configuration includes limiting a numberof any ground-based additional nodes used in the second networkconfiguration.
 7. The method of claim 1, wherein sending theinstructions in order to affect the second network configuration at thefuture point in time includes sending a signal identifying the secondnetwork configuration to a fleet management system including one or moreprocessors.
 8. The method of claim 7, further comprising, in response toreceiving, by the fleet management system, the signal, sending a secondsignal to cause the at least one additional ground-based nodes to bedispatched.
 9. The method of claim 7, further comprising, determining,by the fleet management system, a flight map for the at least onehigh-altitude platform.
 10. A system for determining a networkconfiguration, the system comprising: a controller including one or moreprocessors configured to: receive information from each of a pluralityof available nodes within a network, the plurality of available nodesincluding at least one high-altitude platform; determine a plurality ofconstraints for a future point in time, each one of the plurality ofconstraints for the future point in time including one or more minimumservice requirements for a geographic area; attempt to determine a firstnetwork configuration for each of the plurality of available nodes thatsatisfies all of the constraints for the future point in time; whenunable to determine the first network configuration, send a signal to afleet management system remote from the one or more processors; inresponse to sending the signal, receive information identifying at leastone additional ground-based node; determine a second networkconfiguration for the plurality of available nodes based on the receivedinformation including the identified at least one additionalground-based node, wherein the second network configuration satisfiesall of the plurality of constraints for the future point in time; andsend instructions in order to affect the second network configuration atthe future point in time.
 11. The system of claim 10, wherein the secondnetwork configuration includes a communication link between the at leastone high-altitude platform and the identified at least one additionalground-based node.
 12. The system of claim 10, wherein the one or moreprocessors are configured to determine the second network configurationby using location information for the identified at least oneground-based additional node as well as information about geographiclocations the ground-based additional node is able to reach over one ormore given periods of time.
 13. The system of claim 10, wherein the oneor more processors are configured to determine the second networkconfiguration by using information about an altitude at which theidentified at least one ground-based additional node is deployable. 14.The system of claim 10, wherein the one or more processors areconfigured to determine the second network configuration by usinginformation about communication capabilities of the identified at leastone ground-based additional node.
 15. The system of claim 10, whereinthe one or more processors are configured to send the instructions inorder to affect the second network configuration at the future point intime by sending a signal identifying the second network configuration toa fleet management system.
 16. The system of claim 15, furthercomprising the fleet management system, and wherein the fleet managementsystem includes one or more processors.
 17. The system of claim 16,wherein the one or more processors of the fleet management system areconfigured to, in response to receiving the signal, send a second signalto cause the at least one additional ground-based nodes to bedispatched.
 18. The system of claim 16, wherein the fleet managementsystem is further configured to determine a flight map for the at leastone high-altitude platform.